import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

//获取本地数据
let userInfo=JSON.parse(localStorage.getItem('userInfo')) || {}
export default new Vuex.Store({
  //初始化数据，存数据，类似data
  state: {
    userInfo:userInfo
  },
  //类似组件中的计算属性
  getters:{
    myMenus(state){
      //当前用户菜单
      return state.userInfo.menus || []
    }
  },
  //修改数据，类似methods，都是同步的
  mutations: {
    //保存用户信息
    saveUserInfo(state,payload){
      state.userInfo=payload;
      //本地存储
      localStorage.setItem('userInfo',JSON.stringify(payload))
    },
    //清除用户信息
    clearUserInfo(state){
      state.userInfo={};
      localStorage.removeItem('userInfo')
      location.reload()
    }
  },
  //修改数据，类似methods，可以有异步操作
  actions: {
  },
  //模块化
  modules: {
  }
})
